<?php
include_once('include/Config.php');
include_once('entities/EmpresaProvincia.php');

Class EmpresaProvinciaDAL {

    private $link;

    public function __construct() {
        $this->conectar();
    }

    private function conectar() {
        
        //Tomado del config.php 
        $this->link = $GLOBALS["DBConnPDO"];
        
    }

    public function obtenerEmpresaProvincia($_idEmpresa) {
        $sql = "select * from empresaprovincia";
        $sql .=" WHERE idEmpresa = :idempresa;";
        
        $stmt = $this->link->prepare($sql);
        $stmt->bindParam(':idempresa', $_idEmpresa, PDO::PARAM_INT);
        
        $stmt->execute();
        $result = $stmt->fetchAll();

        $listaEmpresaProvincia = array();

        foreach ($result as $row) {
        
            $empresaprovincia = new EmpresaProvincia(); 
            
            $empresaprovincia->setIdEmpresa($row['idEmpresa']);
            $empresaprovincia->setIdProvincia($row['idProvincia']);
            $empresaprovincia->setDescripcion($row['Descripcion']);
            $empresaprovincia->setDescBreve($row['DescBreve']);
            
            $listaEmpresaProvincia [] = $empresaprovincia;
            
        }
        return $listaEmpresaProvincia;
    }
    
    public function obtenerEmpresaProvinciaxId($_idEmpresa, $_idProvincia) {
        $sql = " SELECT * FROM empresaprovincia ";
        $sql .=" WHERE idEmpresa = :idempresa";
        $sql .=" AND idProvincia = :idprovincia;";
        
        $stmt = $this->link->prepare($sql);
        $stmt->bindParam(':idempresa', $_idEmpresa, PDO::PARAM_INT);
        $stmt->bindParam(':idprovincia', $_idProvincia, PDO::PARAM_INT);
        
        $stmt->execute();
        $result = $stmt->fetchAll();

        $empresaprovincia = new EmpresaProvincia();

        foreach ($result as $row) {

            $empresaprovincia->setIdEmpresa($row['idEmpresa']);
            $empresaprovincia->setIdProvincia($row['idProvincia']);
            $empresaprovincia->setDescripcion($row['Descripcion']);
            $empresaprovincia->setDescBreve($row['DescBreve']);
            
        }
        
        return $empresaprovincia;
    }
    
    function datosEmpresaProvincia($_idEmpresa = 0, $_idProvincia = 0){
        $query = "SELECT PRO.idEmpresa, PRO.idProvincia, LOC.idLocalidad, PRO.Descripcion as Provincia, PRO.DescBreve as ProvBreve, " .
        	"	 LOC.Descripcion as Localidad, LOC.DescBreve as LocBreve, LOC.CodigoPostal  " . 
        	" FROM empresaprovincia AS PRO " .
        	"	LEFT JOIN empresalocalidad AS LOC " .
        	"		ON(PRO.idEmpresa = LOC.idEmpresa AND PRO.idProvincia = LOC.idProvincia) " .
        	" WHERE 1=1 ";
        
        if($_idEmpresa != 0){
            $query .= " AND PRO.idEmpresa = $_idEmpresa";
        }

        if($_idProvincia != 0){
            $query .= " AND PRO.idProvincia = $_idProvincia";
        }
	
	$query .= " ORDER BY PRO.idEmpresa, PRO.Descripcion, LOC.Descripcion ";

        $result = '';
        
        foreach ($this->link->query($query) as $row) {
            $result .= $row['idEmpresa'].'-'.$row['idProvincia'].'-'.$row['idLocalidad'].':'.$row['Provincia'].':'.$row['ProvBreve'].':'.$row['Localidad'].':'.$row['LocBreve'].':'.$row['CodigoPostal'].';';
        }
        
        if($result != null || $result != ''){
            $result = trim($result, ';');
        }
        
        return $result;
    }
  
    function comboEmpresaProvincia($_idEmpresa = 0, $_idProvincia = 0){
        $query = "SELECT idEmpresa, idProvincia, Descripcion from empresaprovincia where 1=1 ";
        
        if($_idEmpresa != 0){
            $query .= " AND idEmpresa = $_idEmpresa";
        }

        if($_idProvincia != 0){
            $query .= " AND idProvincia = $_idProvincia";
        }

        $result = '';
        
        foreach ($this->link->query($query) as $row) {
            $result .= $row['idEmpresa'].'-'.$row['idProvincia'].':'.$row['Descripcion'].';';
        }
        
        if($result != null || $result != ''){
            $result = trim($result, ';');
        }
        
        return $result;
    }
  
    function comboEmpresaProvinciaHTML($_idEmpresaSelected = 0, $_idProvinciaSelected = 0, $_filtro = "") {
        $query = "SELECT idEmpresa, idProvincia, descripcion FROM empresaprovincia";
        
        if($_filtro != "")
        {
        	$query .= " WHERE 1=1 " . $_filtro;
        }
        
        $result = '';

        foreach ($this->link->query($query) as $row) {
            $result .= '<OPTION VALUE="' . $row['idEmpresa'].'-'.$row['idProvincia'] . '"';
            
            if(($_idEmpresaSelected == 0)&&($_idProvinciaSelected == 0)){
            	$_idEmpresaSelected = $row['idEmpresa'];
            	$_idProvinciaSelected = $row['idProvincia'];
            }
            
            if(($_idEmpresaSelected == $row['idEmpresa'])&&($_idProvinciaSelected == $row['idProvincia'])){
            	$result .= ' selected';
            }
            
            $result .= '>' . $row['descripcion'] . '</OPTION>';
        }
        
        return $result;
    }  
}

?>